home *** CD-ROM | disk | FTP | other *** search
/ Danny Amor's Online Library / Danny Amor's Online Library - Volume 1.iso / html / faqs / faq / msdos / programmer-faq.diff < prev    next >
Encoding:
Text File  |  1995-07-25  |  12.7 KB  |  298 lines

  1. Subject: comp.os.msdos.programmer FAQ diffs
  2. Newsgroups: comp.os.msdos.programmer,comp.answers,news.answers
  3. From: jeffrey.carlyle@bgamug.com (Jeffrey Carlyle)
  4. Date: 17 Sep 1994 12:04:46 GMT
  5.  
  6. Archive-name: msdos-programmer-faq/diff
  7. Comp-os-msdos-programmer-archive-name: dos-faq-diff
  8. Posting-frequency: monthly
  9. Last-modified: 05 Sep 1994
  10.  
  11. comp.os.msdos.programmer FAQ Version 2.01
  12. -----------------------------------------
  13. Copyright (C) 1994 by Jeffrey Carlyle, Perplexic Software.  All rights
  14. reserved.  This article is not  in the public  domain,  but it  may be 
  15. redistributed  so long as  this notice,  the acknowledgments,  and the 
  16. information on obtaining the latest copy of this list are retained and
  17. no fee is charged. The code fragments may be used freely; credit would 
  18. be polite.
  19.  
  20. TABLE OF CONTENTS
  21. -----------------
  22.  
  23. Section 1.  General FAQ and Newsgroup Information
  24. -------------------------------------------------
  25.   1.01 - What is this article for? (Revised: 05/09/1994)
  26.   1.05 - Are the answers guaranteed to be correct and complete?
  27.          (Revised: 05/09/1994)
  28.   1.06 - What is comp.os.msdos.programmer about? (Revised: 05/09/1994)
  29.   1.17 - What and where is "Ralf Brown's interrupt list"?
  30.          (Revised: 05/09/1994)
  31.  
  32. Section 5.  Serial ports (COM ports)
  33. ------------------------------------    
  34.   5.04 - How do I configure a COM port and use it to transmit data?
  35.          (Revised: 05/09/1994)
  36.  
  37. Section 6.  Other hardware questions and problems
  38. -------------------------------------------------    
  39.   6.10 - How can I use the protected mode? (New: 05/09/1994)
  40.  
  41. Section 9.  Vendors and products
  42. ---------------------------------
  43.   9.03 - What's the current version of UNZIP? (Revised: 05/09/1994)
  44.  
  45. THE ANSWERS
  46. -----------
  47.  
  48. Section 1.  General FAQ and Newsgroup Information
  49. -------------------------------------------------
  50.  
  51.     1.01 - What is this article for?
  52.     --------------------------------
  53.     (Revised: 05/09/1994)
  54.  
  55.     This is the FAQ (Frequently Asked Questions) list for the newsgroup
  56.     comp.os.msdos.programmer. This list is posted monthly; new questions
  57.     and questions with revised answers are marked with "New:" or
  58.     "Revised:" and the date. When any changes occur a seperate post
  59.     with the subject line "comp.os.msdos.programmer FAQ diffs".
  60.  
  61.     FAQ lists are intended to reduce the noise level in their newsgroups
  62.     that results from the repetition of the same questions, correct
  63.     answers, wrong answers, corrections to the wrong answers,
  64.     corrections to the corrections, debate, etc.
  65.     
  66.     This list should serve as a repository of the canonical "best"
  67.     answers to the questions in it.  The names of folks who have helped
  68.     to improve this FAQ list are listed in "1.02 - Who has contributed to
  69.     this article?"
  70.  
  71.  
  72.     1.05 - Are the answerers guaranteed to be correct and complete?
  73.     --------------------------------------------------------------
  74.     (Revised: 05/09/1994)
  75.  
  76.     I have tried to test all of the facts, but THERE IS NO WARRANTY ON
  77.     THE CODE OR ON THE TECHNIQUES DESCRIBED HEREIN. Please send corrections
  78.     to jeffrey.carlyle@bgamug.com. All the code has been tested; but the
  79.     testing may not have been perfect, and machines and configurations vary.
  80.     (Except where otherwise noted, C code was tested with MSC 5, BC++ 2.0,
  81.     or BC++ 4.0.)
  82.  
  83.     The mention of particular books or programs must not be construed to
  84.     reflect unfavorably on any that are not mentioned.
  85.  
  86.     1.06 - What is comp.os.msdos.programmer about?
  87.     ----------------------------------------------
  88.     (Revised: 05/09/1994)
  89.  
  90.     comp.os.msdos.programmer (comp.sys.ibm.pc.programmer until September
  91.     1990) concerns programming for MS-DOS systems.  The article "USENET
  92.     Readership report for Jul 94" in news.lists shows 120,000 readers of
  93.     this newsgroup worldwide.  Traffic (exclusive of crossposts) was 1981
  94.     articles aggregating 3.1 Megabytes. It ranked as the 79th most popular
  95.     newsgroup.
  96.  
  97.     Much of our traffic is about language products (chiefly from Borland
  98.     and Microsoft).  More programming topics focus on C than on any one
  99.     other language, but we are not just for C programmers (see "1.07 - Is
  100.     comp.os.msdos.programmer just for C programmers?").
  101.  
  102.     Since most MS-DOS systems run on hardware that is roughly compatible
  103.     with the IBM PC, on Intel 8088, 80188, or 80x86 chips, we tend to
  104.     get a lot of questions and answers about programming other parts of
  105.     the hardware.
  106.  
  107.     1.17 - What and where is "Ralf Brown's interrupt list"?
  108.     -------------------------------------------------------
  109.     (Revised: 05/09/1994)
  110.  
  111.     This is megabytes of information on documented and (officially)
  112.     undocumented BIOS and DOS interrupts, DOS tables, and interrupts
  113.     hooked by many software packages.
  114.  
  115.     inter42a.zip, inter42b.zip, and inter42c.zip is the actual
  116.     list. inter42d.zip is a collection of utilities and conversion
  117.     programs for the list. The list is downloadable from:
  118.  
  119.         /pub/msdos/info/ from SimTel
  120.         /pc/programming/ from Garbo.
  121.  
  122.     These versions were uploaded in early August 1994; updates are
  123.     announced every few months in comp.archives.msdos.announce.
  124.  
  125. Section 5.  Serial ports (COM ports)
  126. ------------------------------------
  127.  
  128.     5.04. How do I configure a COM port and use it to transmit data?
  129.     ------------------------------------------------------------
  130.     (Revised: 05/09/1994)
  131.  
  132.     Do you want actual code, or do you want books that explain what's
  133.     going on?
  134.  
  135.     1) Source code
  136.  
  137.     First, check your compiler's run-time library.  Many compilers offer
  138.     functions similar to Microsoft C's _bios_serialcom() or Borland's
  139.     bioscom(), which may meet your needs.
  140.  
  141.     Second, check for downloadable resources at SimTel and Garbo.  At
  142.     SimTel, /pub/msdos/c/pcl4c34.zip (March 1993) is described as
  143.     "Asynchronous communications library for C"; Garbo has a whole
  144.     /pc/comm directory.  Also, an extended example is in Borland's
  145.     TechFax TI445, downloadable as part of
  146.  
  147.         /pub/msdos/turbo-c/bchelp10.zip at SimTel
  148.         /pc/turbopas/bchelp10.zip at Garbo.
  149.  
  150.     Though written by Borland, much of it is applicable to other forms
  151.     of C, and it should give you ideas for other programming languages.
  152.  
  153.     2) Reference books
  154.  
  155.     Highly recommended: Joe Campbell's {C Programmer's Guide to Serial
  156.     Communications}, ISBN 0-672-22584-0.  He gives complete details on
  157.     how serial ports work, along with complete programs for doing polled
  158.     or interrupt-driver I/O.  The book is quite thick, and none of it
  159.     looks like filler.
  160.  
  161.     If Campbell's book is overkill for you, you'll find a good short
  162.     description of serial I/O in {DOS 5: A Developer's Guide}, ISBN
  163.     1-55851-177-6, by Al Williams.
  164.  
  165.     Finally, a reader has recommended {Serial Communications Programming
  166.     in C/C++} by Mark Goodwin (ISBN 1558281983), with source code in the
  167.     book and on disk.  Topics include the basics, various methods of
  168.     serial communications on the PC (with consideration of high-speed
  169.     modems), ANSI screen interface, file transfer protocols (Xmodem and
  170.     Ymodem), etc.  There is code in C, and that code is extended into a
  171.     C++ class for those who use C++.  There are also subroutines in
  172.     Assembly.
  173.  
  174.     3) Downloadable information files
  175.  
  176.     A "Serial Port FAQ" is occasionally posted to this newsgroup, and is
  177.     downloadable as multiple files:
  178.  
  179.         /pub/E-Technik/afd/*Serial* from pfsparc02.phil15.uni-sb.de.
  180.  
  181.     For rtfm.mit.edu instructions, see "1.13 - Where are FAQ lists
  182.     archived?"
  183.  
  184.     (The uni-sb.de archive administrator warns that the ftp address may
  185.     change, sometime in the future, to etcip1.ee.uni-sb.de.)
  186.  
  187. Section 6. Other hardware questions and problems
  188. ------------------------------------------------
  189.  
  190.     6.10 - How can I use the protected mode?
  191.     ----------------------------------------
  192.     (New: 05/09/1994)
  193.  
  194.     If you are using Borland C++ Version 4.0, you can purchase the
  195.     Borland PowerPack for DOS Version 1.00. This package includes:
  196.     Borland C++ 4.02 Service Update, 16-bit DPMI libraries and
  197.     extenders, 32-bit DPMI libraries and extenders, TurboVision 2.0
  198.     (16-bit DOS, 16-bit DPMI, 32-bit DPMI), SuperVGA BGI Drivers
  199.     (16-bit DOS, 16-bit DPMI, 32-bit DPMI).
  200.  
  201.     Thomas Pytel has written his own DOS extender for Borland C++
  202.     4.0.
  203.  
  204.     Here is a exert from Pytel's documentation about PMC Version 1.01:
  205.  
  206.        "PMC contains a small library of the most commonly used and needed
  207.     system functions. Some ANSI C compliant functions are provided, but
  208.     overall, PMC is not ANSI compatible. Malloc functions are available.
  209.     As are many low level string and memory block functions. PMC also
  210.     provides some DPMI functions, some non-ANSI file functions, and low
  211.     level IRQ functions. There are low level functions for fast mode
  212.     switching using the raw mode switching services of whatever DPMI host
  213.     it is running under.
  214.  
  215.        "I designed the PMC interface and library to serve as a small,
  216.     tight, kernel for other C code to be built around. My primary use
  217.     for it will be games, demos, and many other things which do not really
  218.     use standard C functions. But the low level functions provided in
  219.     PMC.LIB will find much use in almost any type of program that is done.
  220.  
  221.        "PMC allows flat access to low and extended memory. You need not
  222.     deal with segments or near and far pointers. In fact, BCC32 does
  223.     not recognize the near or far keywords. Memory is split into two pools,
  224.     a low memory pool and an extended memory pool. This is transparent to
  225.     your code though, as the malloc routines check both pools for any
  226.     memory requests. You can deal explicitly with the low or high memory
  227.     heaps if you wish. You may need a low memory DMA buffer for example.
  228.  
  229.        "The extender used is PMODE 3.0. It is about 9k of code and it
  230.     is internal to the EXE file which is created. For more information
  231.     on it, you should read the PMODE documentation. The programs created
  232.     with PMC will run on any 386+ system which is running as a clean system,
  233.     under XMS, VCPI, or DPMI. This covers all memory managers and Windows
  234.     and OS/2. In addition, the PMODE extender is very fast. I should know,
  235.     I wrote for that purpose."
  236.  
  237.     PMC is freeware and includes the source code which is in C
  238.     and assembly language. PMC Version 1.01 can be found in
  239.  
  240.         /pub/msdos/demos/programming/source/pmc101.zip at ftp.eng.ufl.edu
  241.  
  242.     Adam Seychell has written a DOS extender for ASM programmers. His
  243.     shareware library DOS32 Version 2.4 can be found in
  244.  
  245.         /pub/msdos/demos/programming/source/dos32v24.zip at ftp.eng.ufl.edu
  246.  
  247. Section 9.  Vendors and products
  248. --------------------------------
  249.  
  250.     9.03. What's the current version of UNZIP?
  251.     ------------------------------------------
  252.     (Revised: 05/09/1994)
  253.  
  254.     The current version of PKWare's PKZip is 2.04g.
  255.     The current version of InfoZip's ZIP is 2.0.1.
  256.     The current version of InfoZip's UNZIP is 5.12.
  257.  
  258.     Since April 1993, the administrators of Garbo and SimTel have
  259.     accepted uploads in the ZIP 2.0 format.  You can use the free Info-
  260.     ZIP versions, or PKZIP 2.04g (not 2.04c or 2.04e).  SimTel has
  261.     standardized on the Info-ZIP versions for several reasons, as
  262.     explained in an article posted 29 Mar 1993 in
  263.     comp.archives.msdos.announce.
  264.  
  265.     The primary source of the free Info-ZIP programs is at ftp.uu.net,
  266.     directory /pub/archiving/zip; or at quest.jpl.nasa.gov, directory
  267.     /pub.  Files are in those directories or in subdirectories as shown
  268.     below.  The DOS executable for UNZIP is self extracting; all others
  269.     require UNZIP 5.0, 5.1, 5.11 or 5.12:
  270.  
  271.         MSDOS/unzip512x.exe - DOS executable and doc, UNZIP 5.12
  272.         unzip512.zip - source code for UNZIP 5.12, all platforms
  273.         MSDOS/zip20x.zip - DOS exe and doc, ZIP without crypt support
  274.         zip201.zip - source code for ZIP 2.0, all platforms
  275.         MSDOS/zcryp20x.zip - DOS exe and doc, ZIP with crypt support
  276.         zcrypt21.zip - source code for ZIP crypt support
  277.         WINDOWS/wunz20x.zip - Windows 3.1 WIZUNZIP 2.0 exe and help file
  278.         WINDOWS/wunz20sr.zip - Windows 3.1 WIZUNZIP 2.0 source
  279.  
  280.     The essential files are also available at SimTel in /pub/msdos/zip
  281.     and at Garbo in /pc/arcers.
  282.  
  283.     PKZIP and PKUNZIP are shareware products of PKWARE Inc.  The current
  284.     version is 2.04g, which is the third official version after 1.10.
  285.     They are downloadable
  286.  
  287.         from PKWARE's bulletin board, +1 414 354 8670, or
  288.         from Garbo as /pc/arcers/pkz204g.exe
  289.         from SimTel as /pub/msdos/zip/pkz204g.exe
  290.  
  291.     By the way, if you want to develop your own utilities, you will find
  292.     the ZIP 2.0 data structures described in the downloadable file
  293.  
  294.         /pub/msdos/zip/appnote.zip at SimTel.
  295.  
  296. (End of comp.os.msdos.programmer FAQ diffs Version 2.01)
  297.  
  298.